UCF STIG Viewer Logo

Use of external executables must be authorized.


Overview

Finding ID Version Rule ID IA Controls Severity
V-52237 O112-C2-011800 SV-66453r2_rule Medium
Description
Information systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizational operations (e.g., key missions, functions). It is detrimental for applications to provide, or install by default, functionality exceeding requirements or mission objectives. Examples include, but are not limited to, installing advertising software, demonstrations, or browser plugins not related to requirements or providing a wide array of functionality not required for the mission. Applications must adhere to the principles of least functionality by providing only essential capabilities. DBMS's may spawn additional external processes to execute procedures that are defined in the DBMS, but stored in external host files (external procedures). The spawned process used to execute the external procedure may operate within a different OS security context than the DBMS and provide unauthorized access to the host system.
STIG Date
Oracle Database 11.2g Security Technical Implementation Guide 2016-06-23

Details

Check Text ( C-54293r3_chk )
Review the database for definitions of application executable objects stored external to the database.

Determine if there are methods to disable use or access, or to remove definitions for external executable objects.

Verify any application executable objects listed are authorized by the IAO. If any are not, this is a finding.


To check for application objects, not delivered by Oracle, execute the following query, which will provide the usernames registered in the database that did not come from the Oracle Installation process. If there are owners other than these owners that Oracle provides, then there may be executable objects stored either in the database or external to the database, that are called by objects in the database. Check to see what object owners exist in the database and if they call or schedule anything stored externally to the database.

(connect as sysdba)
SELECT owner, object_name, subobject_name
FROM dba_objects
WHERE owner NOT IN
(
'ANONYMOUS', 'APEX_040200', 'APEX_PUBLIC_USER', 'APPQOSSYS', 'BI', 'CTXSYS', 'DBSNMP', 'DBVAULTMGR', 'DBVAULTOWNER', 'DIP', 'DVF', 'DVSYS', 'EXFSYS', 'FLOWS_FILES', 'HR', 'IX', 'LBACSYS', 'MDDATA', 'MDSYS', 'MGMT_VIEW', 'OE', 'OLAPSYS', 'ORACLE_OCM', 'ORDDATA', 'ORDPLUGINS', 'ORDSYS', 'OUTLN', 'OWBSYS', 'OWBSYS_AUDIT', 'PM', 'SCOTT', 'SH', 'SI_INFORMTN_SCHEMA', 'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'SYS', 'SYSMAN', 'SYSTEM', 'WMSYS', 'XDB', 'XS$NULL','AUDSYS','GSMADMIN_INTERNAL','OJVMSYS','PUBLIC'
)
ORDER BY 1, 2, 3;

For a summary version:
SELECT owner, count(*)
FROM dba_objects
WHERE owner NOT IN
(
'ANONYMOUS', 'APEX_040200', 'APEX_PUBLIC_USER', 'APPQOSSYS', 'BI', 'CTXSYS', 'DBSNMP', 'DBVAULTMGR', 'DBVAULTOWNER', 'DIP', 'DVF', 'DVSYS', 'EXFSYS', 'FLOWS_FILES', 'HR', 'IX', 'LBACSYS', 'MDDATA', 'MDSYS', 'MGMT_VIEW', 'OE', 'OLAPSYS', 'ORACLE_OCM', 'ORDDATA', 'ORDPLUGINS', 'ORDSYS', 'OUTLN', 'OWBSYS', 'OWBSYS_AUDIT', 'PM', 'SCOTT', 'SH', 'SI_INFORMTN_SCHEMA', 'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'SYS', 'SYSMAN', 'SYSTEM', 'WMSYS', 'XDB', 'XS$NULL','AUDSYS','GSMADMIN_INTERNAL','OJVMSYS','PUBLIC'
)
GROUP BY owner
ORDER BY owner;
Fix Text (F-57053r2_fix)
Disable use of or remove any external application executable object definitions that are not authorized.

Disable access to operating system commands from within the DBMS, or document the need for this capability.